<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>demo</title>
  <script type="text/javascript" src="../vue.js"></script>
</head>

<body>
  <div id="app">
    <p>名字是{{obj.name}}</p>
    <p>年龄是{{obj.age}}</p>
    <p>性别是:{{obj.sex}}</p>
    <button @click="sub">年龄保密</button>
    <button @click="add">性别暴露出来了</button>
  </div>
</body>
<script type="text/javascript">
  Vue.config.productionTip = false
  const vm = new Vue({
    el: "#app",
    data() {
      return {
        obj: {
          name: '罗飞',
          age: 22,
        }
      }
    },
    methods: {
      sub() {
        // 这两种写法只是前缀不一样 功能都是一样的 接受两个参数 第一个参数是需要修改的那个对象 第二个参数是那个需要的属性
        Vue.delete(this.obj, 'age')
        // vm.$delete(this.obj, 'age')
      },
      add() {
        // 这两种写法只是前缀不一样 功能都是一样的 接受三个参数 第一个参数是需要添加或修改属性的对象 第二个参数是添加或者修改的属性 第三个参数是被修改或添加的值
        Vue.set(this.obj, 'sex', '男')
        // vm.$set(this.obj, 'sex', '男')
      }
    }

  })
</script>

</html>